$(function () {
    // 点击切换登录注册页面
    $('#loginBox-a a').on('click', function () {
        $('#regBox').show()
        $('#loginBox').hide()
    })
    $('.loginBox-a-js a').on('click', function () {
        $('#regBox').hide()
        $('#loginBox').show()
    })
    // layui - 内置模块 - 表单 - 表单验证 - 自定义规则
    // 只要导入了layui.all.js,就会多出layui一个对象,调用这个对象下面的.form方法即可
    let form = layui.form
    form.verify({
        username: function (value, item) { //value：表单的值、item：表单的DOM对象
            if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
                return '用户名不能有特殊字符';
            }
            if (/(^\_)|(\__)|(\_+$)/.test(value)) {
                return '用户名首尾不能出现下划线\'_\'';
            }
            if (/^\d+\d+\d$/.test(value)) {
                return '用户名不能全为数字';
            }

            //如果不想自动弹出默认提示框，可以直接返回 true，这时你可以通过其他任意方式提示（v2.5.7 新增）
            if (value === 'xxx') {
                alert('用户名不能为敏感词');
                return true;
            }
        }

        //我们既支持上述函数式的方式，也支持下述数组的形式
        //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
        , pass: [
            /^[\S]{6,12}$/
            , '密码必须6到12位，且不能出现空格'
        ],
        // 验证第二次确认密码是否与第一次一样
        // 自定义的属性名给再次输入密码的input的lay-verify="required|repassword即可让value等于该input内输入的值
        repassword: function (value) { //value：表单的值、item：表单的DOM对象
            let rp = $('#userpassword').val()
            if (rp !== value) {
                return '两次密码输入不一致';
            }
        }
    })
    let layer = layui.layer
    // 注册功能
    $('#Regform').on('submit', function (e) {
        e.preventDefault()
        axios({
            method: 'POST',
            url: '/api/reguser',
            data: $(this).serialize()
        }).then(res => {
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            layer.msg(res.data.message)
            // 注册成功后自动跳转到登录模块
            $('.loginBox-a-js a').click()
            // 注册成功后自动全部清空注册表单里的input里的值
            $('#Regform')[0].reset()
        })
    })

    // 登录功能
    $('#Loginform').on('submit', function (e) {
        e.preventDefault()
        axios({
            method: 'POST',
            url: '/api/login',
            data: $(this).serialize()
        }).then(res => {
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            layer.msg(res.data.message)
            // 储存服务器端返回的token数据
            localStorage.setItem('token', res.data.token)
            // 登录成功后跳转到index首页
            location.href = 'index.html'
        })
    })
});